1. Field of the Invention
This invention relates generally to integrating various separate information systems seamlessly for a user, and more particularly, to allowing a user to interact with separate information systems from within a collaboration suite application.
2. Description of the Related Art
Collaboration suite applications typically include functionality such as email messaging, calendaring, and contact storage and retrieval, where email messages, calendar appointments, contacts, etc. are commonly referred to as “mailbox items.” The Zimbra Collaboration Suite from Zimbra, Inc. (San Mateo, Calif.), Microsoft Exchange and Microsoft Outlook from Microsoft Corp. (Redmond, Wash.), and Lotus Notes from IBM (Armonk, N.Y.) are examples of collaboration suite applications.
Most information within a mailbox item cannot be acted upon by separate information systems (e.g., external applications running on the same or other computers, web servers, etc.). For example, if a purchase order number is included in an email, and the user wants approve that purchase order, he typically has to cut (or copy) the purchase order number, open a separate information system, paste that purchase order number into it, and then take any necessary steps to approve that purchase order. These steps are time consuming, annoying and inconvenient for a user.
There have been a few attempts made at addressing such problems. Some email programs can identify Uniform Resource Locators (URLs) within email messages, and a user can click on the URL to open up the corresponding web page. However, such a solution is strictly dependent on the collaboration suite client application, and no customization of any type is provided for. For instance, it is not possible for a user to recognize some other content (e.g. P.O. numbers, phone numbers, etc.), and/or to perform some other type of action upon recognizing specific content (e.g., logging the URL into a prespecified log rather than opening the corresponding web page). Thus this type of solution is non-extensible, non-flexible, and non-customizable.
Some other prior approaches attempted to provide extensible linking and actionable content. However, most of these require the author of the mailbox item (e.g., email) to identify and link the content. This is problematic for several reasons. First, the author of the item is burdened with the task of annotating the content appropriately. Second, this type of solution requires intelligence at the originating end, and its corresponding intelligence at the receiving end. This can be particularly problematic when the item originates with customers, business partners, or even employees on their home computers, all of which often rely on collaboration software (or email software) that is other than the receiving user's internal standard. It is much more desirable to have actionable content work seamlessly for all in-bound items, regardless of their source and their authors' actions.
Other approaches exist to extensible linking and actionable content, such as Smart Tags from Microsoft Corp. (Redmond, Wash.). Smart Tags were developed for Office desktop applications (Excel, Word, Outlook, etc. as well as Internet Explorer/IE). Smart Tags do not implement a client-server architecture, and rely on only client-side installation and execution of the linking and action defining code. They are problematic for numerous reasons. For instance, Smart Tags are severely limited in their user interface (UI), in that they merely created dotted lines under content identified as Smart Tag content, and the user can then click appropriately to display a pop-up menu. Other intuitive user interactions, such as mousing over the content, dragging and dropping the content onto other places, and displaying a pop-up panel which displays content (including 3rd party content) is not available with Smart Tags. Second, Smart Tags are tied to Microsoft Applications, and are thus not compatible with all web browsers (e.g., non-Microsoft web browsers such as Mozilla Firefox, Apple Safari, etc.) and all operating systems (e.g., non-Microsoft compatible operating systems such as Linux, MacOS, etc.). Further, Smart Tags are not designed to work across the range of client devices that support the Web such as mobile phones, PDAs, tablet PCs, set-top boxes, and so on. Moreover, since there is no centralized server, Smart Tags cannot provide for indexing across clients (e.g., for search/discovery across mailboxes) such as is required for Sarbanes-Oxley or Human Resources compliance, fiduciary isolation of business units (such as automatically recognizing equity-related communications), and so on. Further still, performing all indexing/matching on the client increases computation overhead on the client. Furthermore, tight integration with Web 2.0 technologies like Asynchronous JavaScript and XML (Ajax) based user interfaces running in the browser, without any a prior installation of controls/plug-ins, is not feasible with Smart Tags, since they are based upon desktop applications rather than upon open internet technologies. In addition, client-side DLLs are also a security risk, particularly when they are permitted to access to client data or arbitrary services on the Internet.
Thus there is a need for a method and system based on a client-server architecture for seamlessly integrating various information systems with an application such as a collaboration suite application, in a generic and customizable manner. In addition, there is a need for a method and system which provides such integration via an intuitive and easy-to-use user interface. Furthermore, there is need for a method and system which provides such integration in a secure environment.